لدي مجموعة statsname as تفاحة X موز ص كيوي ض أحتاج إلى وضع التفاح والموز والكيوي في مجموعة فواكه و X و Y و Z في مصفوفة تسمى الحروف الأبجدية. أي آلية C # بسيطة لذلك من فضلك؟
استخدم IEnumerableحيث التحميل الزائد الذي يوفر الفهرس. var الفواكه = statsname.Where ((s، i) => i٪ 2 == 0) .ToArray () ؛ var alphabets = statsname.Where ((s، i) => i٪ 2! = 0) .ToArray () ؛ | سرقت من كيفية الحصول على عناصر بديلة باستخدام Enumerable في C # var الفواكه = myArray.Where ((t، i) => i٪ 2 == 0) .ToArray () ؛ var alphabets = myArray.Where ((t، i) => i٪ 2 == 1) .ToArray () ؛ | إذا فهمت أنك تسأل بشكل صحيح ، فما تريده بسيط للغاية: تريد وضع الفاكهة في مجموعة من الفواكه ونفس الشيء بالنسبة للأبجديات وتظهر بدلاً من ذلك في مجموعة statsname لذلك: لـ (int i = 0 ، j = 0 ؛ i list = قائمة جديدة () {"apple"، "X"، "banana"، "Y"، "Kiwi"، "z"}؛ نتيجة var = list.Select ((l، i) => new {l، i}) . GroupBy (p => pi٪ 2) اختر (x => x.Select (v => v.l) .oList ()) .لإدراج()؛ ثم لديك قائمة بالقوائم: | قائمة <سلسلة> ثمار = قائمة جديدة <سلسلة> () ؛ list alphabet = new List ()؛ لـ (int i = 0 ؛ i everyOther (IEnumerable مجموعة) { باستخدام (var e = collection.GetEnumerator ()) { while (e.MoveNext ()) { العائد العائد ه. e.MoveNext () ؛ // تخطي واحد } } } يمكنك استخدام System.Linq.Skip لتخطي العنصر الأول. سلسلة [] الكلمات = "apple X banana Y Kiwi z" .Split ()؛ فار ثمار = كل أخرى (كلمات) ؛ var alphabets = everyOther (words.Skip (1)) ؛ ما عليك سوى استخدامها كمجموعة جديدة أو استدعاء .ToArray () أو .ToList () عليها: foreach (سلسلة و في الفواكه) Console.WriteLine (و) ؛ سلسلة [] anArray = ثمار.ToArray () ؛ // باستخدام System.Linq الآن لديك ما تحتاجه. التكرارات هي طرق تؤدي إلى العائد ، راجع التكرارات (دليل البرمجة C #). هذه سمة قوية جدًا للغة. يمكنك: تخطي العناصر تزيين العناصر تغيير الترتيب التسلسلات المتسلسلة (انظر System.Linq.Concat) ... | إليك بعض التعليمات البرمجية للعمل ، ونأمل أن يكون هذا مفيدًا لك: باستخدام النظام ؛ باستخدام System.Collections.Generic ؛ باستخدام System.IO ؛ باستخدام System.Linq ؛ باستخدام System.Text ؛ باستخدام System.hreading.Tasks ؛ مساحة الاسم ReadFile { برنامج الفصل { ReadFile باطل ثابت (مسار ملف سلسلة ، قائمة <سلسلة> أسماء العملاء ، قائمة أرقام الهاتف) { سلسلة سطر = سلسلة فارغة ؛ var fileStream = new StreamReader (filePath) ، منطقية isPhoneNumber = صحيح ؛ بينما ((line = fileStream.ReadLine ())! = فارغ) { إذا (isPhoneNumber) { phoneNumbers.Add (Convert.ToInt32 (سطر)) ؛ isPhoneNumber = خطأ ، } آخر { custumerNames.Add (سطر) ؛ isPhoneNumber = صحيح ، } } fileStream.Close () ، } الفراغ الثابت الرئيسي (سلسلة [] args) { Console.WriteLine ("بدأت في قراءة الملف ...")؛ قائمة custumersNamesList = قائمة جديدة () ؛ قائمة custumersPhonesNumbers = قائمة جديدة () ؛ ReadFile ("SampleFile.txt" ، custumersNamesList ، custumersPhonesNumbers) ؛ // بافتراض أن كلتا القائمة لها نفس الطول. لـ (int i = 0 ؛ i